using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace JGSY.CMS.LowCode.Platform.Application.DTOs
{
    /// <summary>
    /// 风险评估数据传输对象
    /// 用于传输风险评估的详细信息和评估结果
    /// </summary>
    public class RiskAssessmentDto
    {
        /// <summary>
        /// 风险评估ID
        /// 风险评估记录的唯一标识符
        /// </summary>
        public long Id { get; set; }
        
        /// <summary>
        /// 用户ID
        /// 被评估用户的唯一标识符
        /// </summary>
        public long UserId { get; set; }
        
        /// <summary>
        /// 评估时间戳
        /// 进行风险评估的时间
        /// </summary>
        public DateTime Timestamp { get; set; }
        
        /// <summary>
        /// 风险评分
        /// 风险评估的量化分数，数值越高风险越大
        /// </summary>
        public double Score { get; set; }
        
        /// <summary>
        /// 设备信息
        /// 用户使用的设备相关信息
        /// </summary>
        public string? DeviceInfo { get; set; }
        
        /// <summary>
        /// 登录IP地址
        /// 用户登录时使用的IP地址
        /// </summary>
        public string? LoginIp { get; set; }
        
        /// <summary>
        /// 风险因子
        /// 影响风险评分的各种因子信息
        /// </summary>
        public string? RiskFactors { get; set; }
        
        /// <summary>
        /// 备注信息
        /// 对风险评估结果的额外说明
        /// </summary>
        public string? Remark { get; set; }
    }
}
